package com.itheima.sh.response;

/**
 * @author win10
 */

public enum StatusCode {

    // 成功段0
    SUCCESS(0, "操作成功"),
    ERROR(500, "操作失败"),
    ARITHMETIC_ERROR(50001, "操作失败"),

    // 登录段1~50
    NEED_LOGIN(1, "需要登录后操作"),
    LOGIN_PASSWORD_ERROR(2, "密码错误"),
    // TOKEN50~100
    TOKEN_INVALID(50, "无效的TOKEN"),
    TOKEN_EXPIRE(51, "TOKEN已过期"),
    TOKEN_REQUIRE(52, "TOKEN是必须的"),
    // SIGN验签 100~120
    SIGN_INVALID(100, "无效的SIGN"),
    SIG_TIMEOUT(101, "SIGN已过期"),
    // 参数错误 500~1000
    SERVER_ERROR(500, "服务器内部错误"),
    PARAM_INVALID(501, "无效参数"),
    PARAM_IMAGE_FORMAT_ERROR(502, "图片格式有误"),
    PARAM_REQUIRE(503, "缺少参数"),
    IO_ERROR(504, "IO读取异常,建议联系服务人员"),
    SQL_ERROR(505, "SQL异常,建议检查参数或联系服务人员"),
    // 数据错误 1000~2000
    DATA_EXIST(1000, "数据已经存在"),
    AP_USER_DATA_NOT_EXIST(1001, "ApUser数据不存在"),
    DATA_NOT_EXIST(1002, "数据不存在"),
    // 数据错误 3000~3500
    NO_OPERATOR_AUTH(3000, "无权限操作"),

    //######################业务常量####################
    // APUser 4000-4500
    APUSER_UPDATESTATUS_ERROR(4001, "审核失败，请联系管理员"),
    APUSER_USERNAMEISNULL_ERROR(4002, "新增失败，用户名不能为空"),


    // Order 45001-5000
    ORDER_ADD_ERROR(4501, "订单提交失败，已超时"),


    // 文件管理相关
    FILE_UPLOAD_ERROR(8001, "文件上传失败"),
    FILE_UPLOAD_PARAMREQUIRE_ERROR(8002, "文件上传参数无效");

    final int code;
    final String message;

    StatusCode(int code, String message) {
        this.code = code;
        this.message = message;
    }

    public int getCode() {
        return code;
    }

    public String getMessage() {
        return message;
    }
}